package org.springblade.modules.platform.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.platform.dto.DeviceTableDTO;
import org.springblade.modules.platform.dto.DeviceTablePageDTO;
import org.springblade.modules.platform.dto.UpdateDeviceStatusDTO;
import org.springblade.modules.platform.entity.DeviceTable;
import org.springblade.modules.platform.vo.DeviceTableListVO;
import org.springblade.modules.platform.vo.DeviceTableVO;
import org.springblade.modules.platform.vo.EquipmentRuningStateVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author SYG
 * @since 2022-08-30
 */
public interface IDeviceTableService extends IService<DeviceTable> {

    DeviceTableListVO selectDeviceList(DeviceTablePageDTO deviceTablePageDTO);

    DeviceTableVO selectDeviceById(String deviceId);

    void insertDevice(DeviceTableDTO deviceTableDTO);

    void updateDevice(DeviceTableDTO deviceTableDTO);

    void removeDevice(String[] deviceIds);

    void updateStatus(UpdateDeviceStatusDTO updateDeviceStatusDTO);

    List<EquipmentRuningStateVO> equipmentRuningState(String equipmentId);

    DeviceTableListVO selectListBox(DeviceTablePageDTO deviceTablePageDTO);

    List<DeviceTableVO> selectDeviceByAffiliatedInstitutionsCode(List<Integer> collect);
}
